A disk drive is a data storage device that stores digital data in tracks on the surface of a data storage disk. Data is read from or written to a track of the disk using a transducer, which includes a read element and a write element, that is held close to the track while the disk spins about its center at a substantially constant angular velocity. To properly locate the transducer near the desired track during a read or write operation, a closed-loop servo scheme is generally implemented. The servo scheme uses servo data read from the disk surface to align the transducer with the desired track.
Servo data is generally written to the disk using a servo track writer (STW). As is well-known to those skilled in the art, servo data from a prior-written track on the disk surface is not used by the servo track writer in connection with writing servo data for a subsequent track on the disk surface. Instead, the servo track writer uses an external relative encoder to position itself and the disk drive's transducer (through use of one of a variety of push-pin systems) relative to the disk surface in order to write servo data.
There has been a movement towards using the disk drive's transducer to write some portion of the servo data without using the servo track writer's external relative encoder. In such cases, servo data from a prior-written track on the disk surface is used by the disk drive's transducer to write servo data for a subsequent track on the disk surface. U.S. patent application Ser. No. 09/905,564 filed Jul. 13, 2001 (which is incorporated herein by reference) entitled “Partial Servo-Write Fill-In” describes a technique of writing servo data onto one or more disk surfaces. Specifically, a portion of the servo information is written using a servo track writer and a portion of the servo information is self-written by the disk drive's transducer(s). Even more specifically, the servo track writer is used to write gray code, A, B, C and D servo bursts for a first number of tracks, and the servo track writer is used to write gray code, A and B servo bursts for the remaining tracks. The disk drive is then sealed, and the remaining C and D servo bursts are written to the disk using the read and write heads of the disk drive.
A simplified illustration of a partial self-servo writing technique used to write C and D servo bursts is shown in FIG. 1. The bursts in the left-half of FIG. 1 are representative of a group of servo bursts termed 1x servo bursts and the bursts in the right-half of the FIG. 1 are representative of a group of servo bursts termed 2x servo bursts. Along given track, servo information alternates as being grouped with the 1x servo bursts and 2x servo bursts. In other words, consecutive 1x servo bursts are separated by a 2x servo burst and visa-versa (i.e., 1x and 2x servo bursts are immediately adjacent to one another and alternate around the track). As will be explained in more detail below, 2x servo bursts are used to write 1x servo bursts and 1x servo bursts are used to write 2x servo bursts.
As shown in FIG. 1, in step one, a D burst 3 is written by the disk drive's writer (or write head) 1 after the reader (or read head) 2 has been positioned using a complete set of A, B, C and D bursts. That is, the D burst 3 is written in the 1x set of servo bursts after the reader 2 has been positioned using the 2x set of servo bursts. In step two, the D burst 3 is trimmed (as represented by the solid black line identified by reference numeral 4) and a C burst 5 is written in the 1x servo bursts. In writing the C burst 5, the reader is still positioned using the 2x set of servo bursts.
In step three, the reader 2 switches to being positioned by a 1x set of servo bursts and a D burst 6 is written for the 2x set of servo bursts by the disk drive's writer 1 after the reader 2 has been positioned using a complete set of A, B, C and D bursts. The 1x servo bursts used to position the reader 2 would, for example, be located to the right of the set of 2x servo burst shown in FIG. 1 and would be substantially identical to the set of 1x servo bursts shown in FIG. 1. In step four, the D burst 6 is trimmed and a C burst 7 is written. The reader 2 is positioned using the 1x set of servo bursts prior to writing C burst 7. The process repeats until C and D bursts have been filled-in from approximately the outer diameter OD to approximately the inner diameter (ID) of the disk surface.
In an ideal disk drive system, the tracks of the data storage disk are written as non- perturbed circles situated about the center of the disk. As such, each of these ideal tracks includes a track centerline that is located at a known constant radius from the disk center. In an actual system, however, it is difficult to write non-perturbed circular tracks to the data storage disk. That is, due to certain problems (e.g., vibration, bearing defects, etc.), tracks are generally written differently from the ideal non-perturbed circular track shape. Positioning errors created by the perturbed nature of the tracks are known as written-in repetitive runout (W_RRO or WRO), and also have been known as STW_RRO since tracks have been traditionally written by a servo track writer (STW).
The writing of non-perturbed circular tracks is especially problematic when partial self-servo writing. That is, when servo data from a prior-written track on the disk surface is used by the disk drive's transducer to write servo data for a subsequent track on the disk surface, the WRO may be compounded from track-to-track.
In order to reduce problems associated with WRO, disk drive manufacturers have developed techniques to determine the WRO, so that compensation values (also known as embedded runout correction values or ERC values) may be generated and used to position the transducer along an ideal track centerline. Examples of techniques used to determine ERC values may be found in U.S. Pat. No. 4,412,165 to Case et al. entitled “Sampled Servo Position Control System,” U.S. Pat. No. 6,115,203 to Ho et al. entitled “Efficient Drive-Level Estimation of Written-In Servo Position Error,” and U.S. patent application Ser. No. 09/753,969 filed Jan. 2, 2001 entitled “Method and Apparatus for the Enhancement of Embedded Runout Correction in a Disk Drive,” all of which are incorporated herein by reference.
It has been determined that WRO is related to a position error signal due to repeatable runout (PES_RRO) by a predetermined transfer function S(z) 200, as illustrated in FIG. 2. The transfer function 200, in general, describes how the servo control system reacts to and follows the perturbed track. That is, WRO is the stimulus and PES_RRO is the response. As illustrated in FIG. 3, in order to determine WRO values using PES_RRO values, the inverse transfer function S−1(z) 300 must be determined and the PES_RRO values must be convolved therewith.
The inverse transfer function S−1(z) 300 may be determined using a variety of techniques, such as those described in U.S. Pat. No. 6,115,203 to Ho et al. entitled “Efficient Drive-Level Estimation of Written-In Servo Position Error,” and U.S. patent application Ser. No. 09/753,969 filed Jan. 2, 2001 entitled “Method and Apparatus for the Enhancement of Embedded Runout Correction in a Disk Drive.”
PES_RRO values may be determined by taking position error signal measurements while track following and averaging the position error for each servo sector associated with the track for multiple revolutions of the disk (e.g., 8 revolutions). As will be understood by those skilled in the art, the position error is averaged for multiple revolutions of the disk, so that the affects of non-repeatable runout may be averaged out.
The result of the convolution operation is the WRO (see FIG. 3). The WRO values associated with each servo sector may then be used to determine compensation values (or embedded runout correction values) for each servo sector of the track. The embedded runout correction values are then written to an embedded runout correction field included as part of the data stored in each of the servo sectors.
During normal operation of the disk drive, the transducer reads the ERC value stored in each servo sector of a desired track. The ERC value is then used to modify the position error signal associated with a servo sector to cancel the offset between the non- ideal track (i.e., the track that was written onto the disk surface) and an ideal track, so that the transducer (approximately) follows the ideal track. For example, the ERC value for a sector may be subtracted from a position error signal value read by the transducer for the sector to obtain a modified position error signal value. The modified position error signal value may then be applied in generating a control signal for operating a voice coil motor to position the transducer.
In the case of partial self-servo writing, it is especially important that ideal circular tracks are followed. If ideal tracks are not followed, the perturbations from the non-ideal tracks will be compounded as the disk drive's transducer writes C and D bursts on additional tracks. Accordingly, when partial self-servo writing, embedded runout correction values for a track should be determined, so that a transducer can follow (or approximately follow) the path of an ideal track when writing a subsequent track.
One of the prerequisites to being able to determine embedded runout correction values is the accuracy of approximating the inverse transfer function of the system. That is, if the inverse transfer function is not properly approximated (or modeled) the resultant ERC values will not be properly calculated.
The inventors of the present invention have observed that the inverse transfer function of the disk drive is susceptible to modeling imperfections at low frequencies due to non-linearities introduced by pivot bearing friction associated with pivoting the actuator arm relative to the disk surface. This is especially true in the case of disk drives employing a small number of heads (e.g., 1 or 2 heads), since the inertia is smaller than for disk drives employing a relatively large number of heads (e.g., 4 or more heads). Accordingly, without compensating for these non-linearities, embedded runout correction values may not be properly calculated and may lead to error propagation when writing C and D bursts on subsequent tracks.
Therefore, it would be desirable to a method and apparatus for compensating for non-linearities due to pivot bearing friction when calculating embedded runout correction values for a partial self-servo writing system in a disk drive.